package net.oxygen.upload.service;

import io.minio.CreateMultipartUploadResponse;
import io.minio.ListPartsResponse;
import io.minio.ObjectWriteResponse;
import io.minio.UploadPartResponse;
import net.oxygen.upload.model.MultipartUploadCreate;
import net.oxygen.upload.model.UploadPartCreate;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 接口功能：Minio文件服务接口
 * </p>
 *
 * @author 陈伟伟
 * @since 2023/12/18 11:23
 */
public interface IMinioService {

    String uploadFile(MultipartFile file, String bucketName);

    CreateMultipartUploadResponse uploadId(MultipartUploadCreate uploadCreate);

    UploadPartResponse uploadPart(UploadPartCreate uploadPartCreate);

    ListPartsResponse listMultipartUploads(MultipartUploadCreate uploadCreate);

    ObjectWriteResponse completeMultipartUpload(MultipartUploadCreate uploadCreate);
}
